home *** CD-ROM | disk | FTP | other *** search
- Mandelbrot/Julia
- Set Generator
- Operating and Reference Manual
- Version 5.6
-
- Installation
-
- The Mandelbrot/Julia Set Generator program
- requires an IBM compatible computer with at least 512K
- of memory, a VGA display and a Microsoft compatible
- mouse. The installation process is quite easy. (Users
- obtaining .ZIP files from the Internet or a BBS can
- skip this installation section.)
-
- First, make a backup copy of your Mandelbrot/Julia
- Set Generator program disk. If necessary, consult your
- PC-DOS/MS-DOS manual for a description of the Diskcopy
- command. Save the original program disk in a safe
- place and use the copy as the working program disk.
-
- Second, while it is possible to use the
- Mandelbrot/Julia Set Generator on a floppy disk
- system, a hard disk system is a necessity if you wish
- to store a number of image files. To install the
- Mandelbrot/Julia Set Generator on a hard disk use the
- following steps:
-
- 1. Insert the floppy disk in your computer in
- drive A. (or B if necessary)
- 2. Type A: (or B:)
- 3. Type INSTALL A C
-
- Any hard drive letters can be used, for example
- INSTALL B D will install the program from floppy drive
- B to hard drive D. The installation will create a
- directory called MAND5 on your hard drive and you will
- need to enter a CD\MAND5 to change to the
- Mandelbrot/Julia Set Generator directory before
- running the program. Once installed just type MAN to
- start the program. All the files for Mandelbrot/Julia
- Set Generator need to be in the same directory for the
- program to operate successfully.
-
- Quick Start for Impatient New Users
-
- Type MAN to start the program. After the mouse
- cursor appears click it on the Load Image button at
- the left. When the window appears with the list of
- image file names, simply clicking on one of them will
- display the image using the current color mask. If the
- image file contains a specific color mask filename it
- will be automatically loaded prior to displaying the
- image. Most commands can be interrupted by a simple
- mouse click.
-
- The zoom window feature is started by double
- clicking on the displayed image. Once the zoom window
- appears, with its crossed center lines, it can be
- moved by holding down the left mouse button, while the
- cursor is inside the zoom window, and positioning the
- window. The zoom window size can be increased or
- reduced by holding down the left mouse button and
- moving the mouse cursor horizontally while it is
- outside the zoom window. Once correctly positioned the
- mouse cursor should be clicked on the right gray
- panel, which will store the changed dimensions. The
- zoom window can be abandoned by clicking the mouse
- cursor on the left gray panel. Be careful not to drag
- the mouse cursor onto the gray panels while resizing.
- The Set Values button should be clicked on next, and
- the image file name changed. If this is not done the
- original image file will be erased. Clicking on the
- Make Image button will start the generation of the new
- zoomed image.
-
- The Command Buttons and Their Function
-
- Set Values
-
- The Set Values command allows the user to set the
- initial parameters that will be used by the
- Mandelbrot/Julia Set Generator to begin generating a
- new image. These values are also available for
- inspection when an image has been displayed. The
- values and their range are:
-
- Item Range
- -----------------------------------------------------
- X center value -10 to 10
- Y center value -10 to 10
- Magnification >0
- A value (if a Julia image) -10 to 10
- B value (if a Julia image) -10 to 10
- Dwell 1 to 8191
- Image width in pixels 10 to 4800
- Image type [M J] M or J
- Full/Partial image [F P] F or P
- Default color mask file xxxxxxxx.MSK
- Display type [0 1] For future use
- 256 color palette number For future use
- Image file name xxxxxxxx.MAN
- or xxxxxxxx.MAR
-
- To change a value simply click inside the
- rectangle where the value is displayed and then key in
- a new value or file name. File name extensions must be
- .MSK for color masks, .MAN for regular images and .MAR
- for those that are recursive.
-
- The A and B values are only displayed with Julia
- images. If the recursive image generator is used the
- image width must be a member of the 2^n set, ie. 16,
- 32, 64, 128 etc. The program maintains the
- Full/Partial image status and these values cannot be
- changed by the user.
-
- Color Masks
-
- When the Color Masks command is chosen a popup
- window presents the four options:
-
- Create/Display color mask
- Select color mask
- Select palette
- QUIT
-
- Clicking on the Create/Display color mask option
- allows the user to create, edit and save color masks.
-
- Clicking on the Color mask file name box allows
- you to type in a file name. The file name must have
- the extension .MSK or you will not be able to select
- it later. Ranges of dwell values should be typed into
- the squares on the left. Just click on the square,
- type in a dwell value and <Enter>. The colors are
- selected by clicking on the desired color of the color
- wheel in the upper right and then clicking on the odd
- and even boxes at the right. The selected color is
- displayed between the circular menu and the color
- wheel. If the first line of the color mask reads:
-
- 0 9 [blue box] [white box]
-
- then dwell values from 0 to 9 will be colored blue if
- odd and white if even. If a solid color is desired the
- color boxes should be filled with the same color. The
- end of a color mask should be designated with a
- negative value entered into the first dwell box. The
- default color mask on startup is M1.MSK and its values
- are:
-
- Dwell Range Odd color Even color
- -----------------------------------------------
- 0 9 [blue box] [white box]
- 10 19 [red box] [red box]
- 20 510 [yellow box] [yellow box]
- 511 511 [black box] [black box]
- -1
-
- In the case of M1.MSK, any dwell values larger
- than 511 will be colored black (color 0 in the default
- palette).
-
- The circular menu at upper left has four options.
- Clicking on the up or down arrow jumps to the previous
- or next 16 color mask entries. A total of 256 entries
- can be placed in one color mask. The SAVE option
- stores the color mask currently displayed under the
- name specified in the Color mask file name box. The
- new color mask becomes the currently selected color
- mask.
-
- Clicking on the Select color mask option presents
- the user with a large window and the names of the
- color masks that have been stored. Clicking on a color
- mask name will select and load that color mask. It
- then can be viewed by selecting the Create/Display
- color mask option.
-
- Clicking on the Select palette option opens a
- window that displays the current VGA color palette of
- 16 colors. Clicking on the Default box will load the
- default VGA color palette. Clicking on the arrows will
- select other prestored color palettes, up to number
- 57.
-
- The QUIT option returns the user to the main menu.
-
- Make Image
-
- Selecting the Make Image command generates a
- Mandelbrot or Julia image based upon the parameters
- entered in the Set Values command. A warning is issued
- before the generation begins to allow the user to
- change the file name, as any existing file of this
- name will be erased.
-
- A very simple way to generate images is first to
- use Load Image to display a previously generated
- image. Double clicking on the image will produce a
- zoom window overlaid on the display. Clicking and
- holding down the left mouse button allows the zoom
- window to be dragged about the image to an interesting
- portion of the image. The zoom window can be resized
- by dragging the mouse pointer to the left and right
- outside the zoom window. Once the zoom window has been
- positioned and sized, clicking on the gray panel at
- right will automatically store the new zoomed values
- into the Set Values area. Be careful not to drag the
- mouse cursor onto the gray panels while resizing. The
- user will probably wish to enter a new image file name
- using the Set Values command (this will prevent the
- original image file from being erased), and then
- generate a new image of the area defined by the zoom
- window with the Make Image command. While the zoom
- window is present the procedure can be cancelled by
- clicking on the right gray panel around the command
- buttons. The zoom window will only work on images that
- are 480 pixels wide, or less.
-
- Load Image
-
- The Load Image command presents the user with a
- list of image file names that have been produced with
- the .MAN extension. Clicking on a file name will
- display the image with the current color mask if the
- selected image has no default color mask file name. A
- brief double tone is sounded if there is no default
- color mask file name. If a color mask name was
- included when the image was generated, this color mask
- will be loaded before the image is displayed.
- Partially generated images will automatically continue
- generation when displayed with this command. Once an
- image is displayed double clicking on the image will
- produce a zoom window as described under the Make
- Image command.
-
- Make R Image
-
- The Make R Image command functions similarly to
- the Make Image command except a recursive procedure is
- used in place of the normal line by line generation.
- The image file should be given the .MAR extension so
- that it will be properly handled when using the Load R
- Image command. In some cases this recursive procedure
- will generate images faster that the normal method.
- Partially generated images cannot be displayed with
- generation automatically continuing as is the case
- with the normal Load Image command. Image files are
- generally larger with the recursive procedure.
-
- Load R Image
-
- The Load R Image command displays a recursive
- image previously generated with a .MAR extension in
- the file name. A list of such files is presented and
- the selected image is clicked on. Partially generated
- images will not be automatically continued as with the
- Load Image command.
-
- 3-D Image
-
- The 3-D Image command displays an image generated
- with the Make Image command in a pseudo 3-D style. The
- display algorithm is a simple one, but very slow. VGA
- displays have limitations when displaying 3-D
- Mandelbrot images. Best results occur with color masks
- that contain multiple colors and have the dwell ranges
- broken into many small steps. Large values for the
- maximum dwell may result in the top of the image being
- lost. Partially generated images will not be
- automatically continued as with the Load Image
- command.
-
- Plot Dwell
-
- The Plot Dwell command reads all the dwell values
- of an image stored with the .MAN extension and sums
- them. The sums are then plotted with the current color
- mask used for each dwell value plotted. Only dwell
- values of 2,400 or less will be plotted. These plots
- give an indication of how many points in the image
- have the various dwell values and can be useful in
- constructing a color mask that will display the image
- to best advantage.
-
- Make PCX
-
- The Make PCX command allows the user to select an
- image file stored with the .MAN extension and create a
- PCX image file. A 16 color PCX file using the default
- VGA color palette can be chosen or several 256 color
- PCX formats are available. Click on one of the small
- boxes to select what type of PCX file you desire. The
- color sequence of each of the 256 color formats is
- displayed. The first example has magenta blending into
- red for dwell values from 0 to 64, from red to yellow
- for dwells from 64 to 128, etc. The PCX image file
- format allows users to import Mandelbrot and Julia
- image files into other software such as desktop
- publishing programs and paint programs. PCX files can
- also be used for Windows wallpaper.
-
- Print Image
-
- The Print Image command presents the user with
- nine different printer types that are supported, or
- the command can be quit.
-
- Epson 9 pin
- Epson 24 pin
- IBM 9 pin
- IBM 24 pin
- LaserJet
- DeskJet 500 B/W
- Epson DM Color
- DeskJet 500 C
- PaintJet
- QUIT
-
- The 9 pin printers will output at 120x144 dpi, the
- 24 pin at 180x180 dpi, the Laserjet, Deskjet 500 B/W
- and Color at 150x150 dpi and the Epson DM Color and
- Paintjet at 90x90 dpi. Be patient, the print drivers
- do take time in exchange for attractive output. Color
- is the slowest. Black and white images will be
- dithered. QUIT returns the user to the main menu.
-
- The Print Image command is basically for quick
- hardcopy. If you wish to print museum quality prints
- try a DeskJet 500 series printer. Create your image
- and then make a PCX file using one of the 256 color
- formats. Next, load this PCX file into the Paintbrush
- program that comes with Windows. This is usually found
- in the Accessories window. Next print the image from
- Paintbrush. You will need a 256 color display to do
- this and the Windows print driver that came with the
- DeskJet printer. Most IBM PC's and clones being sold
- today come with a 256 color display. The DeskJet will
- print your image with a superb color balance at just
- under 100 dpi. Try an image width of about 750 pixels
- to fill out the 8-1/2 inch page. I've used this method
- with a Hewlett-Packard DesignJet 650C and 36 inch wide
- paper with images 3300 pixels wide to produce colored
- output that is truly magnificent. If your printer is
- not supported this method can also be used to print
- your images. The only thing you will need is the
- Windows print driver that came with your printer.
-
- Remember, images my be created which are much
- wider than your screen. The upper left corner of your
- image will be the only area visible. To see the entire
- image, create a 256 color PCX file and use any paint
- program that can read 256 color images. These can be
- very attractive.
-
- Help File
-
- The Help File command displays the file you are
- currently reading. Clicking on the arrows to the right
- displays the next or previous page.
-
- Quit MAND56
-
- The Quit MAND56 command returns the user to the
- DOS prompt.
-
- Image File Structure
-
- Each image file created by the Mandelbrot/Julia
- Set Generator begins with a 150 byte header.
-
- Byte Item Size Description
- ------------------------------------------------------
- 0 x 8 byte double x center point
- 8 y 8 byte double y center point
- 16 mag 8 byte double magnification
- 24 a 8 byte double a for Julia sets
- 32 b 8 byte double b for Julia sets
- 40 maxdwell unsigned int maximum dwell
- 42 width unsigned int image width in pixels
- 44 mj[2] char M/J, image type
- 46 partial[2] char F/P, full/partial
- 48 mask[32] char color mask file name
- 80 display integer display (not used)
- 82 pal integer palette (not used)
- 84 name[50] char signature
- 134 fill[16] char filler
-
- All char strings are terminated with a hexadecimal
- 00 byte.
-
- The dwell data follows the header. It should be
- noted that this is not a true image file, rather the
- dwell values themselves are stored. This allows users
- to color the image with a large variety of color
- masks. Storing an image file might be simpler but for
- every different color mask a new image file would have
- to be created.
-
- The dwell data is stored as a series of two byte
- unsigned integers. Each unsigned integer contains the
- dwell value and a run length corresponding to a string
- of identical dwell values. The number of bits required
- to hold the maximum dwell is first obtained. If the
- maximum dwell is 511, then 9 bits are required, 1023
- would require 10 bits, etc. Using 1023 for the maximum
- dwell as an example, the right most 10 bits of the 16
- bit integer represents the dwell value and the 6 left
- most bits contain the run length. As a run length of
- zero is not very useful, this value is always
- incremented by one such that a run length of zero
- equals 1, 1 is 2, etc. Given a maximum dwell of 1023
- the following 16 bit unsigned integer represents a
- dwell of 1000 and a run length of 32.
-
- 011111 1111101000
- 7FE8 hex
-
- When an image is being displayed and the unsigned
- integer above is read, a line of 32 pixels will be
- drawn using the appropriate color from the active
- color mask for dwell value 1000.
-
- Each line of a display is encoded with no
- wraparound. This means that each line will end with
- the display of an encoded unsigned integer and no
- extra pixels of the same dwell will be added for the
- beginning of the next line even if there is room in
- the run length.
-
- It should be noted that the maximum run length
- that can be stored varies with the maximum dwell
- chosen. Files with a maximum dwell of 1023 will have a
- maximum run length of 64, those with maximum dwells of
- 8191 will only store 16. This does not limit a run
- length because if it exceeds the space available in a
- single unsigned integer it simply creates additional
- ones until the run of dwells has been stored. For this
- reason images with high maximum dwell values are often
- large in size. This method of file compression strikes
- a good balance between file size and speed when
- displaying an image.
-
- The Mathematics of the Mandelbrot Set
-
- The Mandelbrot set is computed by operating on a
- fairly simple equation that contains complex numbers
- of the form
-
- x + yi where i = sqrt(-1)
-
- The Mandelbrot equation is
-
- z <- z^2 + c
-
- where
-
- z = x + yi and c = a + bi
-
- substituting these values into z^2 + c we have
-
- (x + yi)^2 + a + bi
-
- x^2 + 2xyi - y^2 + a + bi
-
- separating the real and imaginary parts of z gives
-
- x <- x^2 - y^2 + a
-
- y <- 2xy + b
-
- To determine whether a point (a,b) in the complex
- plane is a member of the Mandelbrot set, the real and
- imaginary parts of the equation are iterated. The x
- and y values are first initialized to zero. The
- constants a and b, the point in the plane, are then
- substituted into the equations giving
-
- x <- a and y <- b
-
- for the first iteration.
-
- The two new values for x and y, along with the
- constants a and b, are now substituted into the
- equations again. This procedure (iteration) continues
- until the absolute value of x + yi > 2, ie. sqrt(x^2 +
- ^y2) > 2. For those cases where this value never
- exceeds 2, the maximum number of iterations is preset.
- A value of about 500 is usually adequate, although
- this value is raised to several thousand when smaller
- details at high magnification are examined. The number
- of times the equations are iterated before the value
- of sqrt(x^2 + y^2) > 2 is called the dwell. Those
- initial points (a,b) where the dwell is infinite, or
- for more practical purposes attains the preset
- maximum, are members of the Mandelbrot set. Another
- way to describe this is to say that for points within
- the Mandelbrot set, the sequence of points produced by
- this iteration procedure is bounded inside a circle of
- radius 2, where points outside the set are unbounded
- and continue to grow and escape the circle.
-
- The Mandelbrot set exists entirely within the area
- defined by
-
- -2 <= a <= 2 and -2 <= b <= 2
-
- in the complex plane. A Mandelbrot image is produced
- by taking this area of the complex plane and dividing
- it into a array of 1200 x 1200 points. Each one of
- these points becomes the constant (a,b). The iteration
- procedure previously described is used on each of the
- 1.44 million points, coloring each point in the
- Mandelbrot set black and all others white. The
- algorithm is:
-
- maxcount <- 1000
- for b <- 2 to -2 stepdown 1/300
- for a <- -2 to 2 step 1/300
- x <- 0
- y <- 0
- count <- 0
- while sqrt(x^2 + y^2) < 2 and count < maxcount
- x <- x^2 - y^2 + a
- y <- 2*x*y + b
- count <- count + 1
- end while
- if count = maxcount plot(a,b,BLACK)
- else plot(a,b,WHITE)
- end for a
- end for b
-
- While the algorithm is not that complex, the
- amount of computation is enormous. Depending on
- programming language and style, the inner loop has at
- least four multiplications and a square root. For a
- point in the Mandelbrot set this loop is executed 1000
- times and there are over a million points to check! It
- is not surprising that the Mandelbrot set was not
- discovered until the age of computers.
-
- In the Mandelbrot/Julia Set Generator program some
- additional refinements are made to standardize the
- initial parameters used to generate a specific image.
- Instead of defining the range of (a,b) values used for
- an area, a center point and a magnification are
- specified. The center point is simply a chosen (a,b)
- value. The length of a side which encloses the area of
- interest is defined as
-
- side = 2/magnification
-
- The following values can now be defined
-
- a_minimum = a_center - side/2
-
- b_maximum = b_center + side/2
-
- gap = side/width
-
- where width is defined as the number of points that
- make up a side (or on a computer screen the number of
- pixels), and the gap being the distance between each
- point.
-
- The Mandelbrot set is an interesting image, a sort
- of cardioid with a spiked head attached at the left.
- The boundary of the set sprouts self similar buds of
- different sizes. Vastly more interesting images are
- forthcoming when we examine the boundary of the
- Mandelbrot set under higher magnification. To obtain
- higher magnifications we simply divide a smaller area
- into our array of points. For example, the area
- defined by the center point (-0.77,0.17) and
- magnification 20 is located in the upper valley
- between the head and the cardioid shaped body.
-
- If we continue with these magnifications, very
- different and interesting images can be produced by
- coloring the dwell values in specific ways. Along with
- coloring points in the Mandelbrot set black, we can
- assign different colors to other points based upon
- their dwell value. For example, we might assign yellow
- to dwell values in the range 400 to 499, red to 300 to
- 399, etc. When we do this a great deal more detail
- begins to appear in the boundary regions. This region
- of interest exists only in a narrow band just outside
- the Mandelbrot set. The skill one uses in choosing the
- various colors for differing dwell values is very
- important when attempting to produce an attractive
- image.
-
- The Mandelbrot/Julia Set Generator uses a file
- called a color mask to store the colors used in
- painting the various dwell values in an image. This
- technique allows many different coloring schemes for a
- single image. Consider the following color mask:
-
- Dwell Range Odd Color Even Color
- ----------------------------------------------
- 0 9 blue white
- 10 19 red red
- 20 510 yellow yellow
- 511 511 black black
- -1
-
- Dwell values from 0 to 9 will be colored blue if
- they are odd numbers and white if they are even.
- Values from 10 to 19 will be colored red, 20 to 510
- yellow and 511 will be colored black. Choosing the
- maximum dwell value to be in the set 2n - 1 maximizes
- the file compression method the Mandelbrot/Julia Set
- Generator program uses.
-
- Generating Julia set images is a similar process.
- The point (a,b) is chosen from one of the interesting
- boundary areas of the Mandelbrot set. This value is
- held constant and the (x,y) value is initialized to
- the various points in the complex plane defined by
-
- -2 <= x <= 2 and -2 <= y <= 2
-
- This would be a magnification of 0.5, actually the
- Julia image can often be enlarged slightly to fill the
- screen and magnifications from 0.6 to 0.9 are often
- used.
-
- The algorithm for generating a Julia set is
-
- maxcount <- 1000
- a <- constant
- b <- constant
- for y <- 2 to -2 stepdown 1/300
- for x <- -2 to 2 step 1/300
- count <- 00
- while sqrt(x^2 + y^2) < 2 and count < maxcount
- x <- x^2 - y^2 + a
- y <- 2*x*y + b
- count <- count + 1
- end while
- if count = maxcount plot(a,b,BLACK)
- else plot(a,b,WHITE)
- end for x
- end for y
-
- Selected References
-
- Barnsley, Michael, Fractals Everywhere. San Diego, CA:
- Academic Press, 1988.
-
- Briggs, John and Peat, F. David Turbulent Mirror. New
- York: Harper & Row, 1989.
-
- Devaney, Robert L.Choas, Fractals, and Dynamics. Menlo
- Park, CA:Addison-Wesley, 1990.
-
- Devaney, Robert L. and Keen, Linda, Editors. Chaos and
- Fractals, The Mathematics Behind the Computer
- Graphics: Proceedings of Symposia in Applied
- Mathematics.Providence, RI: American Mathematical
- Society, 1989.
-
- Gleick, James Chaos, Making a New Science. New York:
- Viking Penguin, Inc., 1987.
-
- Mandelbrot, Benoit B. The Fractal Geometry of Nature.
- New York: W. H. Freeman and Co., 1983.
-
- Peitgen, Heinz-Otto and Richter, Peter H. The Beauty
- of Fractals, Images of Complex Dynamical Systems.
- Berlin: Springer-Verlag, 1986.
-
- Peitgen, Heinz-Otto and Saupe, Dietmar, Editors. The
- Science of Fractal Images. New York: Springer-
- Verlag, 1988.
-
- Pietgen, Heinz-Otto, Jurgens, Hartmut and Saupe,
- Dietmar Fractals for the Classroom, (Volumes I &
- II), New York: Springer-Verlag, 1992. (There is a
- single volume work entitled Chaos and Fractals,
- New Frontiers of Science, which is essentially the
- same work as the two volume set above.)
-
- Pickover, Clifford A. Computers Pattern Chaos and
- Beauty: Graphics from an Unseen World.New York:
- St. Martin's Press, 1990.
-
- Pickover, Clifford A. Computers and the Imagination:
- Visual Adventures Beyond the Edge. New York: St.
- Martin's Press, 1991.
-
- Pickover, Clifford A. Mazes for the Mind. New York:
- St. Martins Press, 1992.
-
- Schroeder, Manfred Fractals, Chaos, Power Laws,
- Minutes from an Infinite Paradise.New York: W.H.
- Freeman and Co., 1991.
-
- Stevens, Roger T. Fractal Programing in C. Redwood
- City, CA: M&T Publishing, Inc., 1989.
-
- Stevens, Roger T. Advanced Fractal Programing in C.
- Redwood City, CA: M&T Publishing, Inc., 1990.
-
- Stewart, Ian Does God Play Dice? The Mathematics of
- Chaos. Oxford: Basil Blackwell, 1989.
-
- Stewart, Ian and Golubitsky, Martin Fearful Symmetry,
- Is God a Geometer? Oxford: Blackwell, 1992.
-
- Registration
-
- You may freely copy and distribute this shareware
- Version 5.6 of the Mandelbrot/Julia Set Generator.
- Shareware users who find the Mandelbrot/Julia Set
- Generator useful should support the author and
- register their copy. The form found below should be
- used for registration. Registered users will receive a
- copy the lastest version of the Mandelbrot/Julia Set
- Generator with additional images and a printed manual.
- Registered users will also receive support, by letter
- mail, e-mail or phone, for six months from the date of
- registration.
-
- The Mandelbrot/Julia Set Generator is a "shareware
- program" and is provided at no charge to the user for
- evaluation. Vendors who distribute shareware programs
- may charge a small fee for an evaluation copy. Feel
- free to share this program with your friends, but
- please do not give it away altered or as part of
- another system. The essence of "user-supported"
- software is to provide personal computer users with
- quality software without high prices, and yet to
- provide incentive for programmers to continue to
- develop new products. If you find this program useful
- and find that you are using the Mandelbrot/Julia Set
- Generator and continue to use the Mandelbrot/Julia Set
- Generator after a reasonable trial period, you must
- make a registration payment of $25. plus $2. shipping
- to Theron Wierenga. The registration fee will license
- one copy for use on any one computer at any one time.
- You must treat this registered software just like a
- book. An example is that this registered software may
- be used by any number of people and may be freely
- moved from one computer location to another, so long
- as there is no possibility of it being used at one
- location while it's being used at another. Just as a
- book cannot be read by two different persons at the
- same time.
-
- The registration fee is $25. ($35. outside the
- United States.) Please include $2.00 for shipping and
- handling. A complete listing of the program, which is
- written in Borland C/C++, is also available for an
- additional $20.00. All prices are in U.S. dollars.
-
- Checks should be made out to:
-
- Theron Wierenga, P.O. Box 595, Muskegon, MI 49443
-
- Ombudsman Statement
-
- This program is produced by a member of the
- Association of Shareware Professionals (ASP). The ASP
- wants to make sure that the shareware principle works
- for you. If you are unable to resolve a shareware-
- related problem with an ASP member by contacting the
- member directly, ASP may be able to help. The ASP
- Ombudsman can help you resolve a dispute or problem
- with an ASP member, but does not provide technical
- support for members' products. Please write to the ASP
- Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427
- USA, FAX 616-788-2765 or send a CompuServe message via
- CompuServe Mail to ASP Ombudsman 70007,3536.
-
- User Support
-
- Registered users will receive support, by letter
- mail, e-mail or phone, for six months from the date of
- registration on any problems they encounter. Customer
- support and order phone 847-854-0489. The author is
- available by e-mail on the internet at
- twiereng@remc4.k12.mi.us.
-
- Registration Form
-
- Mandelbrot/Julia Set Generator, Version 5.6
-
- Name______________________________________________
-
- Address___________________________________________
-
- City_________________________State_____Zip________
-
- Email address (if available)______________________
-
- Disk size: 5 1/4 in._______ 3 1/2 in._______
-
- Registration fee . . . . . . . . $25.00 __________
- Registration fee (Outside USA) . 35.00 __________
- Borland C/C++ program code . . . 20.00 __________
- Shipping . . . . . . . . . . . . ___2.00___
-
- Total enclosed . . . . . . . . . __________
- (All prices are in U.S. dollars.)
-
- Method of payment:
- Check or MO_______ MasterCard________ Visa________
-
- Account number__________________ Expir. date______
-
- Signature (necessary)_____________________________
-
- How did you receive your copy of this program?
-
- __________________________________________________
-
- Suggested improvements____________________________
-
- __________________________________________________
-
- __________________________________________________
-
- __________________________________________________
-
- The Mandelbrot/Julia Set Generator, Version 5.6
-
- is a software product of
-
- Theron Wierenga, P.O. Box 595, Muskegon, MI 49443
-
- Customer support and order phone 847-854-0489
- twiereng@remc4.k12.mi.us
-
-